1. Technical Field
This invention relates in general to computers and, more particularly, to computer memory modules.
2. Description of the Related Art
Over the last few years, the operation of the personal computer has become more oriented toward multimedia operation. Multimedia computers typically include a mass storage device with a replaceable medium, such as a CD-ROM (compact disk read only memory) or a DVD (digital versatile disk), a sound card with a FM synthesis or wave table generation processor, real-time video capabilities and three dimensional graphics. Other multimedia capabilities, such as speech synthesis and voice recognition, are becoming more mainstream as the power of the computers increase.
Multimedia capabilities such as sound, video, fax, modem, compression and decompression, however, are resource intensive. Some features are bandwidth limited, meaning that the features cannot be expanded without increasing the bandwidth of the system buses. In a typical IBM-compatible PC, the ISA (industry standard architecture) bus runs at eight megahertz (16 bits) while the PCI (Peripheral Connect Interface) bus runs at thirty-three megahertz (32 bits). Other features are processor limited. In a multitasking computer system, the main processor can be responsible for a number of activities. Therefore, multimedia features which require a large number of processor instruction cycles can slow down the system or not execute properly. Still other multimedia features are memory limited. These features require a large amount of memory in order to execute. Large memories lead to increased system cost.
For example, modem features like V.34bis are primarily processor limited. Wavetable synthesis requires large amounts of memory and is memory-limited. Decompression feature like MPEG2 is compute-limited as well as bandwidth limited. With increasing clock-speeds of Intel CPUs, some of these can be executed on the host CPU. But this loads the host CPU with fewer MIPS (million instructions per second) available for the user application. Increased clock speeds also lead to increased power consumption and reduced battery life.
One popular approach is to provide these functions in a desktop computer using multiple add-in ISA or local bus cards. These add-in cards are host dependent and cannot be used on multiple platforms. For example, an ISA card cannot work on a Sun workstation or a Macintosh. Notebook computers, palmtops and PDAs (personal digital assistants) have no space for such ISA cards. And they all suffer from the classic Von Neumann bottleneck--the CPU-Memory bandwidth limitation.
Processor technology has focused on improving raw processing speed. As an example, the instruction cycle time of a recent digital signal processor design in the TMS320 family, by Texas Instruments Incorporated of Dallas, Texas, is 5 ns (nanoseconds), as compared to the cycle time of 200 ns in the first generation. As long as the computations are on-chip, these devices provide adequate throughput. But several applications in speech, signal and image processing are memory intensive and the gain in raw processing speed is lost when the processor has to fetch and process data from slower off-chip memories. The combined effect of decreasing cycle time of processors and increasing density of memory devices is further aggravating the CPU-to-memory bandwidth--a paramount issue in computer system design.
As computers evolve from desktop size to laptop, notebook and palmtop sizes, form factor and power consumption become critical. Laptops are expected to have the capability of a desktop as users demand more functionality.
Multiprocessing promises great potential for increasing the throughput of systems as the limits of decreasing the cycle time of uniprocessor systems are approached. But multiprocessing has not yet proliferated, primarily because of the "processor-driven" approaches and the difficulty in designing systems, developing communication protocols, and designing software support routines. Application partitioning is a major problem because it requires a detailed understanding of the application that is being accelerated. Software development methodologies and partitioning tools are still in their infancy. In addition, there is no standard way of connecting two or more processors.
Accordingly, a need has arisen for a method and apparatus for providing flexible, compatible processing for multimedia and other resource intensive features.